package com.itheima.operator; // 声明包名，用于组织代码的命名空间

public class OperatorDemo3 { // 定义一个公开的类，名为OperatorDemo3
    public static void main(String[] args) { // 主方法，程序的入口点
        // 目标：掌握扩展的赋值运算符。
        receive(5); // 调用receive方法，传入参数5，模拟收红包场景
        print(); // 调用print方法，演示其他扩展赋值运算符
    }

    // 需求：收红包。
    public static void receive(int b) { // 定义静态方法receive，接收一个整数参数b（红包金额）
        // 拿到自己钱包的金额。
        int a = 100; // 声明整型变量a表示钱包现有金额，初始化为100
        a += b; // 扩展赋值运算符：等价于 a = (int)(a + b)，将红包金额加到钱包里
        System.out.println("收红包后，我的钱包金额：" + a); // 输出更新后的钱包金额

        byte a1 = 10; // 声明byte类型变量a1，值为10
        byte a2 = 20; // 声明byte类型变量a2，值为20
        a1 += a2; // 扩展赋值运算符自带强制类型转换：等价于 a1 = (byte)(a1 + a2)
        System.out.println(a1); // 输出a1的值，此时a1 = 30
    }

    // 需求：帮我再演示一下其他几个扩展的赋值运算符。
    public static void print() { // 定义静态方法print，无参数，演示各种扩展赋值运算符
        int a = 10; // 声明整型变量a，值为10
        a -= 5; // 减法扩展赋值运算符：等价于 a = (int)(a - 5)
        System.out.println(a); // 输出a的值：5

        int b = 10; // 声明整型变量b，值为10
        b *= 5; // 乘法扩展赋值运算符：等价于 b = (int)(b * 5)
        System.out.println(b); // 输出b的值：50

        int c = 10; // 声明整型变量c，值为10
        c /= 5; // 除法扩展赋值运算符：等价于 c = (int)(c / 5)
        System.out.println(c); // 输出c的值：2

        int d = 10; // 声明整型变量d，值为10
        d %= 5; // 取余扩展赋值运算符：等价于 d = (int)(d % 5)
        System.out.println(d); // 输出d的值：0
    }
}
